/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * ProductosxProveedor.java
 *
 * Created on 15/06/2009, 05:23:38 PM
 */

package Compras;
import Control.Conexion;
import java.util.Vector;
import java.util.Date;
import javax.swing.JOptionPane;
import java.util.Calendar;
/**
 *
 * @author GAMA
 */
public class GastosxProveedor extends javax.swing.JPanel {
 Date d1=new Date();
        Date d2=new Date();
    /** Creates new form ProductosxProveedor */
    public GastosxProveedor() {
        initComponents();
        inicializar_proveedores();
        Date aux=new Date();
        aux.setTime(System.currentTimeMillis());

        d1.setDate(aux.getDate());
        d1.setMonth(aux.getMonth());
        d1.setYear(aux.getYear());
        d1.setHours(23);
        d1.setMinutes(59);

        System.out.println("fecha actual: "+d1.getDate()+"/"+d1.getMonth()+"/" +d1.getYear());

        d2.setDate(1);
        d2.setMonth(0);
        d2.setYear(109);
        jdcfecha_inicio.setMaxSelectableDate(d1);
        jdcfecha_inicio.setMinSelectableDate(d2);
        jdcfecha_fin.setMaxSelectableDate(d1);
        jdcfecha_fin.setMinSelectableDate(d2);
    }
    public void inicializar_proveedores(){
        Conexion c=new Conexion();
        Vector <String> prov= c.cargar_proveedores();
        for(int i=0;i<prov.size();i++){
        cmbproveedor.addItem(prov.get(i));
        }
        
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel2 = new javax.swing.JLabel();
        pnlGenerar_reporte = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        cmbproveedor = new javax.swing.JComboBox();
        jdcfecha_fin = new com.toedter.calendar.JDateChooser();
        jdcfecha_inicio = new com.toedter.calendar.JDateChooser();
        jLabel5 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();

        setLayout(null);

        jLabel2.setFont(new java.awt.Font("Arial", 0, 20));
        jLabel2.setForeground(new java.awt.Color(0, 102, 204));
        jLabel2.setText("GASTOS POR PROVEEDOR");
        add(jLabel2);
        jLabel2.setBounds(240, 70, 310, 30);

        pnlGenerar_reporte.setBorder(javax.swing.BorderFactory.createTitledBorder("Generar Reporte"));
        pnlGenerar_reporte.setLayout(null);

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Generar_run16.gif"))); // NOI18N
        jButton1.setMnemonic('g');
        jButton1.setText("Generar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        pnlGenerar_reporte.add(jButton1);
        jButton1.setBounds(150, 170, 120, 25);

        jLabel1.setText("Proveedor: ");
        pnlGenerar_reporte.add(jLabel1);
        jLabel1.setBounds(50, 40, 70, 14);

        pnlGenerar_reporte.add(cmbproveedor);
        cmbproveedor.setBounds(130, 40, 170, 20);
        pnlGenerar_reporte.add(jdcfecha_fin);
        jdcfecha_fin.setBounds(130, 120, 150, 20);
        pnlGenerar_reporte.add(jdcfecha_inicio);
        jdcfecha_inicio.setBounds(130, 80, 150, 20);

        jLabel5.setText("(dd/mm/aaaa)");
        pnlGenerar_reporte.add(jLabel5);
        jLabel5.setBounds(290, 80, 80, 20);

        jLabel4.setText("(dd/mm/aaaa)");
        pnlGenerar_reporte.add(jLabel4);
        jLabel4.setBounds(290, 120, 80, 20);

        jLabel3.setText("Fecha fin:");
        pnlGenerar_reporte.add(jLabel3);
        jLabel3.setBounds(60, 120, 60, 14);

        jLabel6.setText("Fecha inicio:");
        pnlGenerar_reporte.add(jLabel6);
        jLabel6.setBounds(50, 80, 70, 14);

        add(pnlGenerar_reporte);
        pnlGenerar_reporte.setBounds(170, 120, 410, 210);
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        cargar_reporte();

    }//GEN-LAST:event_jButton1ActionPerformed

public void cargar_reporte(){
      String fecha_inicio="";
        String fecha_fin="";
        boolean pase=false;
        String dia_ini="", mes_ini="",anio_ini="",dia_fin="",mes_fin="",anio_fin="";

        try{
         dia_ini=Integer.toString(jdcfecha_inicio.getCalendar().get(Calendar.DATE));
         mes_ini=Integer.toString(jdcfecha_inicio.getCalendar().get(Calendar.MONTH)+1);
         anio_ini=Integer.toString(jdcfecha_inicio.getCalendar().get(Calendar.YEAR));
        fecha_inicio=anio_ini+"-"+mes_ini+"-"+dia_ini;

         dia_fin=Integer.toString(jdcfecha_fin.getCalendar().get(Calendar.DATE));
         mes_fin=Integer.toString(jdcfecha_fin.getCalendar().get(Calendar.MONTH)+1);
         anio_fin=Integer.toString(jdcfecha_fin.getCalendar().get(Calendar.YEAR));
        fecha_fin=anio_fin+"-"+mes_fin+"-"+dia_fin;
        pase=true;

        }catch(Exception e){
           JOptionPane.showMessageDialog(this,"Formato de fecha no válido","Error",JOptionPane.ERROR_MESSAGE);
        }

        if(pase){
            boolean admitido=true;
            if(jdcfecha_inicio.getDate().getTime()<d2.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas anteriores al año 2009","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
            }else{
                System.out.println("ajua: "+jdcfecha_inicio.getDate().getTime()+ " aaa: "+d1.getTime());
                if(jdcfecha_inicio.getDate().getTime()>d1.getTime()){

                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas posteriores a la fecha actual","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
                }
            }
             if(jdcfecha_fin.getDate().getTime()<d2.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas anteriores al año 2009","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
            }else{
                System.out.println("ajua2: "+jdcfecha_fin.getDate().getTime()+ " aaa2: "+d1.getTime());
                if(jdcfecha_fin.getDate().getTime()>d1.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas posteriores a la fecha actual","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
                }
            }
            if(jdcfecha_inicio.getDate().getTime()>jdcfecha_fin.getDate().getTime()){
                JOptionPane.showMessageDialog(this,"La fecha inicio no debe ser mayor a la fecha fin","Información",JOptionPane.WARNING_MESSAGE);
                admitido=false;
            }

            if(admitido){
                Conexion c=new Conexion();
                  String proveedor=cmbproveedor.getSelectedItem().toString();
                c.reporte_gastos_x_proveedor(fecha_inicio, fecha_fin, proveedor);

            }

        }
    
  

}
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JComboBox cmbproveedor;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private com.toedter.calendar.JDateChooser jdcfecha_fin;
    private com.toedter.calendar.JDateChooser jdcfecha_inicio;
    private javax.swing.JPanel pnlGenerar_reporte;
    // End of variables declaration//GEN-END:variables

}
